package com.tupian.dao;

import com.tupian.pojo.Image;
import com.tupian.dto.ImageQueryDto;
import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.stereotype.Component;

@Component
@Mapper
public interface ImageDao 
{

	//================以下为自动生成==================
	/**
	 * 根据主键ID查询
	 * @author  
	 * @date 2020-03-04
	 * @param 	id				主键ID	
	 * @return	Image		
	 */
	Image selectById(Integer id);

	/**
	 * 查询列表
	 * @author  
	 * @date 2020-03-04
	 * @param 	image		查询条件
	 * @return	List<Image>		
	 */
	List<Image> selectList(Image image);

	/**
	 * 条件查询，包含模糊匹配
	 * @author  
	 * @date 2020-03-04
	 * @param 	image		查询条件
	 * @return	List<Image>		
	 */
	List<Image> selectListByDto(ImageQueryDto image);

	/**
	 * 查询数量
	 * @author  
	 * @date 2020-03-04
	 * @param 	image		查询条件
	 * @return	Long 结果数量		
	 */
	Long count(Image image);


	/**
	 * 插入
	 * @author  
	 * @date 2020-03-04
	 * @param 	image		参数含义
	 * @return	int						插入成功所影响的行数			
	 */
	int insert(Image image);


	/**
	 * 条件插入
	 * @author  
	 * @date 2020-03-04
	 * @param 	image		参数含义
	 * @return	int						插入成功所影响的行数			
	 */
    int	insertSelective(Image image);

	/**
	 * 批量插入
	 * @author  
	 * @date 2020-03-04
	 * @param	imageList		参数含义
	 */
	void batchInsert(List<Image> imageList);

	/**
	 * 更新
	 * @author  
	 * @date 2020-03-04
	 * @param 	image		参数含义
	 * @return	int						更新成功所影响的行数			
	 */
	int update(Image image);

	/**
	 * 条件更新
	 * @author  
	 * @date 2020-03-04
	 * @param 	image		参数含义
	 * @return	int						更新成功所影响的行数			
	 */
	int updateByPrimaryKeySelective(Image image);

	
	/**
	 * 删除
	 * @author  
	 * @date 2020-03-04
	 * @param 	image		参数含义
	 * @return	int						删除成功所影响的行数			
	 */
	int delete(Image image);

	/**
	 * 根据主键ID删除
	 * @author  
	 * @date 2020-03-04
	 * @param 	id		主键ID
	 * @return	int		删除成功所影响的行数			
	 */
	int deleteById(Integer id);
}